package proyectoX.src.armas;

import java.awt.Point;

import proyectoX.src.aplicacion.Nivel;
import proyectoX.src.municiones.MunicionLaser;
import proyectoX.src.municiones.MunicionLaserGrande;
import proyectoX.src.municiones.MunicionLaserMediano;
import proyectoX.src.municiones.MunicionX;

/**
 * Láser utilizado por la nave Mediana.
 *
 */
public class laserMediano extends laser{
	

	/**
	 * Crea el arma con el nivel pasado por parámetro.
	 * @param n Nivel actual.
	 */
	public laserMediano( Nivel n){
		super(-1,2,n);  //municiones = -1 para indicar que es INFINITO
		
	}


	/**
	 * Crea municiones en posiciones relativas a las pasadas por parámetros.
	 * 
	 * @param location Posición a partir de la cual se decide la posición de las municiones disparadas.
	 */
	public void disparar(Point location){
		if (pasoDelay()) {
			tiempoUltimoDisparo = System.currentTimeMillis();
			
			switch (nivelPoder) {
				
			case 1: {
				MunicionX m1= new MunicionLaser(location.x-23,location.y,this,nivel);						
				MunicionX m2= new MunicionLaser(location.x+18,location.y,this,nivel);
				nivel.agregarMunicion(m1);
				nivel.agregarMunicion(m2);
				break;
			}
			case 2: {
				MunicionX m1= new MunicionLaserMediano(location.x-24,location.y-25,this,nivel);	
				MunicionX m2= new MunicionLaserMediano(location.x+18,location.y-25,this,nivel);	
				nivel.agregarMunicion(m1);
				nivel.agregarMunicion(m2);
				
				break;
			}
			case 3: {
				MunicionX m1= new MunicionLaserGrande(location.x-19,location.y-40,this,nivel);						
				MunicionX m3= new MunicionLaserMediano(location.x-24,location.y-29,this,nivel);	
				MunicionX m2= new MunicionLaserMediano(location.x+18,location.y-29,this,nivel);	
				nivel.agregarMunicion(m3);
				nivel.agregarMunicion(m2);
				nivel.agregarMunicion(m1);
				break;
			}
			}
		}
	}
	
}
	